package token

import "encoding/json"

type Token struct {
	// 该token颁发给
	UserId string `json:"user_id" gorm:"column:user_id"`
	// 人的名称，user name
	UserName string `json:"username" gorm:"column:username"`
	// 颁发给用户的访问令牌 (用户需要携带Token来访问接口)
	AccessToken string `json:"access_token" gorm:"column:access_token"`
	// 过期时间 (2hr), 单位秒
	AccessTokenExpiredAt int `json:"access_token_expired_at" gorm:"column:access_token_expired_at"`
	// 刷新Token
	RefreshToken string `json:"refresh_token" gorm:"column:refresh_token_expired_at"`
	// 刷新Token过期时间 (7d)
	RefreshTokenExpiredAt int `json:"refresh_token_expired_at" gorm:"column:refresh_token_expired_at"`
	// 创建时间
	CreatedAt int64 `json:"created_at" gorm:"column:created_at"`
	// 更新时间
	UpdatedAt int64 `json:"updated_at" gorm:"column:updated_at"`
	// 额外补充信息，gorm忽略处理
	Role string `json:"role" gorm:"-"`
}

func (t *Token) String() string {

	// dj, _ = json.Marshal(t)
	dj, _ := json.MarshalIndent(t, "", "	")
	return string(dj)

}
